$(function() {
    var nombre = $( "#nombre" ),
      identificacion = $( "#identificacion" ),
      campos = $( [] ).add( nombre ).add( identificacion ),
      advertencia = $( ".advertencia" );
 
    function actualizarAdvertencia( t ) {
      advertencia
        .text( t )
        .addClass( "ui-state-highlight" );
      setTimeout(function() {
        advertencia.removeClass( "ui-state-highlight", 1500 );
      }, 500 );
    }
 
    function verificarLongitud( texto, campo, min, max ) {
      if ( texto.val().length > max || texto.val().length < min ) {
        texto.addClass( "ui-state-error" );
        actualizarAdvertencia( "La longitud del campo " + campo + " debe estar entre " +
          min + " y " + max + " caracteres." );
        return false;
      } else {
        return true;
      }
    }
 
    function verificarExpresion( texto, expresionRegular, campo ) {
      if ( !( expresionRegular.test( texto.val() ) ) ) {
        texto.addClass( "ui-state-error" );
        actualizarAdvertencia( campo );
        return false;
      } else {
        return true;
      }
    }
 
    $( "#nuevoParticipante" ).dialog({
      autoOpen: false,
      height: 300,
      width: 350,
      modal: true,
	  
      buttons: {
        "Aceptar": function() {
          var bValid = true;
          campos.removeClass( "ui-state-error" );
 
          bValid = bValid && verificarLongitud( nombre, "nombre", 3, 40);
          bValid = bValid && verificarLongitud( identificacion, "identificacion", 5, 10 );
        
 
          bValid = bValid && verificarExpresion( nombre, /^[a-z]([a-z ])+$/i, "El nombre debe contener solo letras" );
          // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/identificacion_address_validation/
          bValid = bValid && verificarExpresion( identificacion, /^([0-9])+$/, "La identificacion debe contener solo numeros" );
 
          if ( bValid ) {
            $( "#users2 tbody" ).append( "<tr>" +
              "<td>" + nombre.val() + "</td>" +
              "<td>" + identificacion.val() + "</td>" +
            "</tr>" );
            $( this ).dialog( "close" );
          }
        },
        Cancel: function() {
          $( this ).dialog( "close" );
        }
		
      },
      close: function() {
        campos.val( "" ).removeClass( "ui-state-error" );
      }
    });
 
    $( "#agregar2" )
      .button()
      .click(function() {
        $( "#nuevoParticipante" ).dialog( "open" );
      });
  });